package com.isczy.vodapi;

import com.isczy.utils.DataResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/********************************************
 * @Brief:
 * @Version: 1.0
 * @Date: 2021年01月08日 11:49:49
 * @Author: ChangZiYang
 * ******************************************
 */
@Component
@FeignClient(value = "service-vod")//标注feign调用哪个服务
public interface VodFeignService {

    /***
     * ***************************************
     * 功能描述:上传视频到阿里云
     * @param file
     * @return {@link DataResult}
     * @author create: TODO 人员:【ChangZiYang】类型:【新增方法】日期:【2021-01-08 11:54】
     * @author modify:
     */
    @PostMapping("/eduvod/video/uploadVideoAly")
    DataResult uploadVideoAly(MultipartFile file);

    /***
     * ***************************************
     * 功能描述:根据视频id删除阿里云视频
     * @param id
     * @return {@link DataResult}
     * @author create: TODO 人员:【ChangZiYang】类型:【新增方法】日期:【2021-01-08 11:54】
     * @author modify:
     */
    @DeleteMapping("/eduvod/video/removeAlyVideo/{id}")
    DataResult removeAlyVideo(@PathVariable("id") String id);

    /***
     * ***************************************
     * 功能描述:删除多个阿里云视频的方法
     * @param videoIdList 参数多个视频id  List videoIdList
     * @return {@link DataResult}
     * @author create: TODO 人员:【ChangZiYang】类型:【新增方法】日期:【2021-01-08 11:55】
     * @author modify:
     */
    @DeleteMapping("/eduvod/video/delete-batch")
    DataResult deleteBatch(@RequestParam("videoIdList") List<String> videoIdList);
}
